Sistema de Puntuación:
Respuesta correcta: Suma +0.25 puntos.
Respuesta incorrecta: Resta -0.08333... puntos (o la fracción 1/12).
Respuesta en blanco (no contestada): Suma o resta 0 puntos (no afecta la puntuación).
1. Para extraer el contenido textual del título de una página HTML utilizando BeautifulSoup, una vez que tienes el objeto soup, ¿cuál de las siguientes opciones es la más directa y común, asumiendo que la etiqueta title existe?
soup.find('title').get_text()soup.title.stringsoup.find('head').find('title').textsoup.getText('title')2. En el contexto de SEO, necesitas verificar si una página tiene una meta descripción. ¿Cuál es el método de BeautifulSoup más adecuado para encontrar la etiqueta meta de descripción?
soup.find("meta", name="description")soup.find_all("meta")[0].get("content")soup.select("meta[name='description']")soup.find("description").text3. ¿Cómo verificarías con BeautifulSoup que una página HTML contiene exactamente una etiqueta <h1>, lo cual es una práctica recomendada en SEO?
if soup.h1: print("Existe un H1")len(soup.find_all('h1')) == 1soup.find('h1').count == 1bool(soup.find('h1'))4. Al analizar imágenes para SEO, es crucial verificar la presencia del atributo alt. Si tienes un objeto img_tag que representa una etiqueta <img>, ¿cómo comprobarías si el atributo alt está ausente o vacío?
img_tag.alt == Nonenot img_tag.get('alt')img_tag.find('alt').text == ""img_tag.has_attribute('alt') == False5. Para encontrar todas las etiquetas de encabezado (de <h1> a <h6>) en un documento HTML usando BeautifulSoup, ¿cuál sería la forma más eficiente?
soup.find_all() para cada tipo de encabezado por separado y luego combinar las listas.soup.find_all(['h1', 'h2', 'h3', 'h4', 'h5', 'h6'])soup.select('h1, h2, h3, h4, h5, h6')6. Necesitas extraer la URL de destino de una etiqueta de enlace canónico (<link rel="canonical" href="...">). Si canonical_tag es el objeto BeautifulSoup para esta etiqueta, ¿cómo obtendrías la URL?
canonical_tag.textcanonical_tag.get("href")canonical_tag.attrs["href"]canonical_tag.href7. Cuando buscas específicamente etiquetas <td> que tienen un atributo style con un valor exacto, por ejemplo, width: 14.8064%; height: 56px;, ¿cuál es la sintaxis correcta con find_all?
soup.find_all('td', style="width: 14.8064%; height: 56px;")soup.find_all('td', attrs={'style': "width: 14.8064%; height: 56px;"})soup.select('td[style="width: 14.8064%; height: 56px;"]')soup.find_all(tag='td', attributes={'style': "width: 14.8064%; height: 56px;"})8. Para verificar si una página utiliza Schema.org a través de JSON-LD, ¿qué tipo de etiqueta y atributo buscarías principalmente con BeautifulSoup?
soup.find_all("script", type="application/javascript")soup.find_all("meta", name="schema")soup.find_all("script", type="application/ld+json")soup.find_all("div", class_="schema-org")9. Si quieres encontrar todos los enlaces <a> que tienen un atributo href definido (independientemente de su valor), ¿cuál es la forma correcta de hacerlo con BeautifulSoup?
soup.find_all('a', href=True)soup.find_all(lambda tag: tag.name == 'a' and tag.has_attr('href'))[tag for tag in soup.find_all('a') if tag.get('href')]10. Al crear un informe de auditoría SEO básica con Pandas, y después de haber parseado el HTML con BeautifulSoup (soup), ¿cómo determinarías de forma booleana si la etiqueta <meta name="description"> existe?
soup.find("meta", attrs={"name": "description"}) != None"description" in soup.find("meta").attrslen(soup.select("meta[name='description']")) > 0soup.meta_description.exists()